/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Ejercicio1;
import java.io.*;

/**
 *
 * @author UNSAAC73
 */
public class Deserializacion {
    
    public static void main(String[] args) {
        Agenda a1 = null;
        Agenda a2 = null;
        
        try{
            // Recuperar un archivo de disco
            FileInputStream fis = new FileInputStream("agenda3.ser");
            
            // Stream para recuperar o reconstruir objetos
            ObjectInputStream ois = new ObjectInputStream(fis);
            
            //El metodo readObject() recupera el objeto
            a1 = (Agenda) ois.readObject();
            a2 = (Agenda) ois.readObject();//en el mismo orden guardado
            ois.close();            
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();            
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        
        System.out.println(a1);
        System.out.println(a2);
        
        //INTERPRETACION:
        /*Podemos ver que el dato de tipo transient no se serializa ya que lo que pretendemos al usar transient
         * es que la seriarializacion no afecte a este atributo, de forma similar el atributo de tipo static no sera 
         es serializado ya que solo pertenece a la clase y no a la instancia.*/
    }
    
}
